package org.dromara.hm.service;

import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.hm.domain.HmSaleOrderPickUp;
import org.dromara.hm.domain.vo.*;
import org.dromara.hm.domain.vo.saleOrder.HmSaleOrderPickUpVo;
import org.dromara.hm.domain.vo.saleOrder.HmSaleOrderVo;

import java.util.Map;

/**
 * 销售订单Service接口
 *
 * @author zy Hu
 * @date 2024-12-15
 */
public interface IStatisticsService {

    /**
     * 查询销售订单
     *
     * @param
     * @return 销售订单
     */
    Map<String, Long> queryCustomerActivity();


    Map<String, Object> queryProductActivity(Long productId);



    Map<String, Object> querySaleNumOrMoney(String Object,String date);

    TableDataInfo<HmSaleOrderVo> queryDeptList(Integer size, String date);

    TableDataInfo<HmSaleOrderVo> selectProductSort(Integer size, String date,String productId);

    TableDataInfo<HmSaleOrderVo> selectPersonSort(Integer size, String date);

    TableDataInfo<HmSaleOrderVo> selectPersonServerSort(Integer size, String date);

    TableDataInfo<HmSaleOrderVo> queryList1(Long id, String date);

    TableDataInfo<HmSaleOrderPickUpVo> queryList2(Long id, String date);

    TableDataInfo<HmSaleOrderVo> queryList4(Long id, String date);

    TableDataInfo<HmSaleOrderVo> queryList3(Long id, Long productId, String date);

    TableDataInfo<HmSaleOrderPickUpVo> queryList5(Long id, String date);

    TableDataInfo<HmCustomerVo> queryList6(Long id, String date);

    TableDataInfo<HmTodoItemsVo> queryList7(Long id, String date);

    TableDataInfo<HmStockVo> queryStockDetail(Long productId);

    TableDataInfo<HmSaleOrderPickUp> queryPickDetail(Long productId);

    Map<String, Object> getHomeDataDetail(PageQuery pageQuery, String type, Long id, String date, Long productId);

    RefundAndReturnStatsResultVo queryRefundAndReturnStats(String storeId, String date, String dateMode, PageQuery pageQuery,String salespersonId);
}
